home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGASIC / BASFILES.LZH / DRAWBOX.BAS < prev    next >
BASIC Source File  |  1988-09-10  |  2KB  |  148 lines

  1. '$INCLUDE:'QBTOOLS.INC'
  2. '' '$INCLUDE: 'qbtools2.inc'
  3.  
  4. SUB DrawBox (TopRow%, LeftCol%, Wid%, height%, FrameType%, FrmFgd%, FrmBgd%, Fill%, FillFgd%, FillBgd%)
  5.  
  6. '  Frame Types are:
  7. '
  8. '
  9. '  ┌────────────┐   ░░░░░░░░░░░░
  10. '  │            │   ░          ░
  11. '  │   1        │   ░  5       ░
  12. '  └────────────┘   ░░░░░░░░░░░░
  13. '
  14. '  ╔════════════╗   ▒▒▒▒▒▒▒▒▒▒▒▒
  15. '  ║            ║   ▒          ▒
  16. '  ║   2        ║   ▒  6       ▒
  17. '  ╚════════════╝   ▒▒▒▒▒▒▒▒▒▒▒▒
  18. '
  19. '  ▄▄▄▄▄▄▄▄▄▄▄▄▄   ▓▓▓▓▓▓▓▓▓▓▓▓
  20. '  ▌           ▐   ▓          ▓
  21. '  ▌  3        ▐   ▓  7       ▓
  22. '  ▀▀▀▀▀▀▀▀▀▀▀▀▀   ▓▓▓▓▓▓▓▓▓▓▓▓
  23. '
  24. '   █████████████
  25. '   █           █
  26. '   █  4        █
  27. '   █████████████
  28. '
  29.  
  30. IF Wid% < 2 THEN
  31.     EXIT SUB
  32. END IF
  33.  
  34. IF height% < 2 THEN
  35.     EXIT SUB
  36. END IF
  37.  
  38.  
  39.  
  40. FrameAttr% = Attributes%(FrmFgd%, FrmBgd%, 0, 0)
  41. FillAttr% = Attributes%(FillFgd%, FillBgd%, 0, 0)
  42.  
  43.  
  44. SELECT CASE FrameType%
  45.     CASE 1
  46.         Tl$ = "┌"
  47.         Tr$ = "┐"
  48.         Bl$ = "└"
  49.         Br$ = "┘"
  50.         Hb$ = "─"
  51.         Ht$ = "─"
  52.         Vl$ = "│"
  53.         Vr$ = "│"
  54.     CASE 2
  55.         Tl$ = "╔"
  56.         Tr$ = "╗"
  57.         Bl$ = "╚"
  58.         Br$ = "╝"
  59.         Hb$ = "═"
  60.         Ht$ = "═"
  61.         Vl$ = "║"
  62.         Vr$ = "║"
  63.     CASE 3
  64.         Tl$ = "▄"
  65.         Tr$ = "▄"
  66.         Bl$ = "▀"
  67.         Br$ = "▀"
  68.         Hb$ = "▀"
  69.         Ht$ = "▄"
  70.         Vl$ = "▌"
  71.         Vr$ = "▐"
  72.     CASE 4
  73.         Tl$ = "█"
  74.         Tr$ = "█"
  75.         Bl$ = "█"
  76.         Br$ = "█"
  77.         Hb$ = "█"
  78.         Ht$ = "█"
  79.         Vl$ = "█"
  80.         Vr$ = "█"
  81.     CASE 5
  82.         Tl$ = "░"
  83.         Tr$ = "░"
  84.         Bl$ = "░"
  85.         Br$ = "░"
  86.         Hb$ = "░"
  87.         Ht$ = "░"
  88.         Vl$ = "░"
  89.         Vr$ = "░"
  90.     CASE 6
  91.         Tl$ = "▒"
  92.         Tr$ = "▒"
  93.         Bl$ = "▒"
  94.         Br$ = "▒"
  95.         Hb$ = "▒"
  96.         Ht$ = "▒"
  97.         Vl$ = "▒"
  98.         Vr$ = "▒"
  99.     CASE 7
  100.         Tl$ = "▓"
  101.         Tr$ = "▓"
  102.         Bl$ = "▓"
  103.         Br$ = "▓"
  104.         Hb$ = "▓"
  105.         Ht$ = "▓"
  106.         Vl$ = "▓"
  107.         Vr$ = "▓"
  108.     CASE ELSE
  109.         Tl$ = "+"
  110.         Tr$ = "+"
  111.         Bl$ = "+"
  112.         Br$ = "+"
  113.         Hb$ = "-"
  114.         Ht$ = "-"
  115.         Vl$ = "|"
  116.         Vr$ = "|"
  117.  END SELECT
  118.  
  119.  
  120. ' LeftCol
  121. ' TopRow
  122. ' Width
  123. ' Height
  124.  
  125. Top$ = Tl$ + STRING$(Wid% - 2, Ht$) + Tr$
  126. Bot$ = Bl$ + STRING$(Wid% - 2, Hb$) + Br$
  127.  
  128. IF Fill% THEN
  129.     Body$ = STRING$(Wid% - 2, " ")
  130. END IF
  131.  
  132. BotRow% = TopRow% + height% - 1
  133. RightCol% = LeftCol% + Wid% - 1
  134. ColorPrint Top$, TopRow%, LeftCol%, FrameAttr%
  135. ColorPrint Bot$, BotRow%, LeftCol%, FrameAttr%
  136.  
  137. FOR j% = TopRow% + 1 TO TopRow% + height% - 2
  138.     ColorPrint Vl$, j%, LeftCol%, FrameAttr%
  139.     ColorPrint Vr$, j%, RightCol%, FrameAttr%
  140.     IF Fill% <> 0 THEN
  141.         Lc% = LeftCol% + 1
  142.         ColorPrint Body$, j%, Lc%, FillAttr%
  143.     END IF
  144. NEXT j%
  145.  
  146. END SUB
  147.  
  148.